package com.woniuxy.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.woniuxy.common.entity.ChatMessage;
import com.woniuxy.entity.DTO.ChatWebDTO;
import com.woniuxy.entity.DTO.MessageListDTO;
import org.apache.ibatis.annotations.Param;


import java.util.List;

public interface MessageService extends IService<ChatMessage>{


    // 查找两个用户之间的未读消息
    List<ChatMessage> findBySenderIdAndReceiverIdAndStatus(
            String senderId, String receiverId, ChatMessage.MessageStatus status);


    // 查找用户的所有未读消息
    List<ChatMessage> findByReceiverIdAndStatus(String userId,String receiverId,  ChatMessage.MessageStatus status);

    // 更新消息为已送达
   void markMessagesAsDelivered( String userId,String receiverId);

    // 查询对话历史
    List<ChatMessage> findConversation(String user1, String user2);
    //获取消息列表信息
    List<MessageListDTO> getMessageList(String userId);

    //web端返回聊天消息
    List<ChatWebDTO> messagelistWeb(String userId);
    //    查询未读的消息条数
    Integer findUnreadCount( String receiverId,String senderId);
    //    查询最后一条消息对象
    ChatMessage findLastMessageObject(String receiverId,String senderId);
}
